# -*- encoding: utf-8 -*-
 
##
# Esse programa é livre, você pode distribuir e/ou modifica-lo sob os
# termos da licença geral publica GNU publicada pela fundação de software
# livre (Free Software Foundation),  contida na segunda versão da licença
# ou (em sua opinião) outra versão mais recente.
# Esse programa é distribuído na esperança de ser útil e satisfatório,
# mas DESTITUÍDO DE QUALQUER GARANTIA, destituído igualmente da
# COMPATIBILIDADE DE MÁQUINA ou CONVENIÊNCIA PARA PROPÓSITOS
# PARTICULARES. Veja a licença geral publica GNU para opter mais detalhes.
# http://www.gnu.org/copyleft/gpl.html
##
###############################################################################
## Nome do Arquivo: utilitario
## Autor: Guedes, Maurilio<billguedes>
## Data da Criação: 26/11/2004
## Data da Modificação: 03/07/2005
## Finalidade: Funções úteis do dia-a-dia
##
##
##
###############################################################################

import pygtk, gtk



# --- Mensagem de alerta --------------------------------------------------
def message (texto, janela= None) :
	dialogo= gtk.MessageDialog (janela, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, texto)
	dialogo.set_markup (texto)
	dialogo.run ()
	dialogo.destroy ()


# --- Mensagem de confirmação ---------------------------------------------
def confirmar (texto, janela= None) :
	dialogo= gtk.MessageDialog (janela, gtk.DIALOG_MODAL, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, texto)
	dialogo.set_markup (texto)
	response= dialogo.run ()
	dialogo.destroy ()
	if response == gtk.RESPONSE_YES :
		return True
	else :
		return False


# --- Mensagem de erro ----------------------------------------------------
def erro(texto, janela= None) :
	dialogo= gtk.MessageDialog (janela, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, texto)
	dialogo.set_markup (texto)
	dialogo.run ()
	dialogo.destroy ()


# --- Abrir Arquivo -------------------------------------------------------   
def arquivo(*args): # [name,pattern]  EX: ['images','*.png']
	dialog = gtk.FileChooserDialog("Abrir ...",
				None,
				gtk.FILE_CHOOSER_ACTION_OPEN,
				(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
					gtk.STOCK_OPEN, gtk.RESPONSE_OK))
	dialog.set_default_response(gtk.RESPONSE_OK)
	
	for f in args:
		filter = gtk.FileFilter()
		filter.set_name(f[0])
		filter.add_pattern(f[1])
		dialog.add_filter(filter)
	
	
	response = dialog.run()
	if response == gtk.RESPONSE_OK:
		return dialog.get_filename()
	elif response == gtk.RESPONSE_CANCEL:
		return False
	dialog.destroy()
